//
//  AbstractFactory.h
//  AbstractFactory
//
//  Created by flannery on 2018/12/17.
//  Copyright © 2018年 flannery. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Color.h"
#import "Shape.h"

@interface AbstractFactory : NSObject
-(id<Color>)getColor:(NSString*)colorType;
-(id<Shape>)getShape:(NSString*)shapeType;
@end

@interface ShapeFactory : AbstractFactory
-(id<Color>)getColor:(NSString*)colorType;
-(id<Shape>)getShape:(NSString*)shapeType;
@end


@interface ColorFactory : AbstractFactory
-(id<Color>)getColor:(NSString*)colorType;
-(id<Shape>)getShape:(NSString*)shapeType;
@end
